<template>
    <div class="navItem" @click="itemClick">
        <div :class="activeClass"><a href="javascript:;" ><slot name="item-text"></slot></a></div>
    </div>
</template>

<script>
export default {
    name: 'NavItem',
    props:{
        path:String
    },
    computed:{
        //返回处于活跃的路由
        //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
        //如果要检索的字符串值没有出现，则该方法返回 -1。
        isActive(){
            return this.$route.path.indexOf(this.path) !== -1
        },
        activeClass(){
            return  {active:this.isActive}
        }
    },
    methods:{
        itemClick(){
             //由父组件传入路径然后跳转(因为router版本bug抛出异常)
            this.$router.replace(this.path).catch(err => err)
        }
    }
}
</script>

<style  scoped>
.navItem{
    flex: 1;
    text-align: center;
    height: 50px;
}
.navItem a{
    color: #ffffff;
    font-weight: 900;
}
.active{
    background-color: #8BBF5D;
    width: 50%;
    margin-left: 15%;
    border-top-left-radius: 60px;
    border-bottom-right-radius: 60px;
    border: 0.5px solid #8BBF5D;
}
</style>